home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / fax / src / port / hpux / defs.cc next >
Text File  |  1994-08-01  |  9KB  |  327 lines

  1. #
  2. # FlexFAX Facsimile Software
  3. #
  4. # Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994 Sam Leffler
  5. # Copyright (c) 1991, 1992, 1993, 1994 Silicon Graphics, Inc.
  6. # Permission to use, copy, modify, distribute, and sell this software and 
  7. # its documentation for any purpose is hereby granted without fee, provided
  8. # that (i) the above copyright notices and this permission notice appear in
  9. # all copies of the software and related documentation, and (ii) the names of
  10. # Sam Leffler and Silicon Graphics may not be used in any advertising or
  11. # publicity relating to the software without the specific, prior written
  12. # permission of Sam Leffler and Silicon Graphics.
  13. # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, 
  14. # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY 
  15. # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
  16. # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
  17. # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  18. # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  19. # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF 
  20. # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
  21. # OF THIS SOFTWARE.
  22. #
  23.  
  24. #
  25. # These definitions are for building the software on a HP 9000/700
  26. # under HP-UX 9.x using HP C++.
  27. #
  28. # TARGET:    hpux
  29. # COMPILER:    cc
  30. #
  31. SHELL    = /bin/sh
  32. DESTDIR    = .
  33. NULL    =
  34. MAKEFILE= Makefile
  35.  
  36. #
  37. # Location of auxiliary stuff needed for HP-UX
  38. #
  39. PORT    = ${DEPTH}/port/hpux
  40. LINUX    = ${DEPTH}/port/linux
  41. GENERIC    = ${DEPTH}/port/generic
  42. #
  43. # Basic tools used in the build process.
  44. #
  45. C++    = /usr/bin/CC
  46. CC    = /bin/cc
  47.  
  48. NAWK    = /usr/bin/awk
  49. INSTALL    = sh ${DEPTH}/port/hpux/install.sh
  50. MKDEPEND= ${LINUX}/mkdepend
  51. AR    = /bin/ar
  52. RANLIB    = /bin/echo
  53. SED    = /bin/sed
  54.  
  55. #
  56. # AR options for creating/updating an archive
  57. #
  58. AROPTS=    crs
  59.  
  60. #
  61. # Special options for lptops compilation (yech).
  62. #
  63.  
  64. #
  65. # We wants System V-style getty support.
  66. #
  67. SYSGETTY=GettySysV.c++
  68.  
  69. #
  70. # and we want System V-style UUCP lock support.
  71. #
  72. UUCP_LOCKDIR=/usr/spool/uucp
  73. UUCP_LOCKTYPE=0
  74. UUCP_LOCKMODE=0444
  75.  
  76. #
  77. # Location of Adobe Font Metrics for lptops.
  78. #
  79. AFMDIR=/usr/local/lib/ghostscript/fonts/
  80.  
  81. #
  82. # PostScript imager for server.  PSPACKAGE is one of:
  83. #
  84. # dps    for Display Postscript
  85. # gs    for Ghostscript
  86. #
  87. # and PSIMAGER is the pathname of the binary executable.
  88. #
  89. PSPACKAGE=gs
  90. PSIMAGER=/usr/local/bin/gs
  91.  
  92. #
  93. # Mail program for sending notification messages.
  94. #
  95. SENDMAIL=/usr/lib/sendmail
  96.  
  97. #
  98. # Default optimizer and prototype options
  99. #
  100. #OPTIMIZER= -O
  101. OPTIMIZER= -g
  102. PROTOTYPES= -D_PROTOTYPES
  103. CVERSION= -Aa -D__ANSI_CPP__ -D_HPUX_SOURCE
  104. C++FILE=
  105.  
  106. # default definitions for programs--overide them as desired
  107. LIBS=    ${LIBUTIL} ${LIBTIFF} ${LIBIV} ${LIBPORT}
  108. LLDLIBS=${LIBS} ${MACHDEPLIBS}
  109. #
  110. # Override this definition to eliminate shared library use.
  111. #
  112. SHDLIBC=
  113.  
  114. #
  115. # Libraries that may vary from machine to machine (especially if
  116. # you use GNU GCC instead of AT&T C++).
  117. #
  118. MACHDEPLIBS=-lC
  119.  
  120. #
  121. # You must have v3.0 or newer of the TIFF library.  If
  122. # you already have it installed, or if you have version 3.0
  123. # or newer of InterViews installed (which includes the TIFF
  124. # library), you can point these to those places.  Otherwise,
  125. # you can just use the code provided here.
  126. #
  127. TIFF=    ${DEPTH}/libtiff
  128. LIBTIFF=${TIFF}/libtiff.a
  129. #
  130. # If you already have InterViews 3.0 or newer installed,
  131. # define these to be something like:
  132. #
  133. #IV=    /usr/include
  134. #LIBIV=    /usr/lib/libIV.a
  135. # Otherwise you can just use the subset of classes used by
  136. # the fax software and collected here in a hacked-up library.
  137. #
  138. IV=    ${DEPTH}/iv
  139. LIBIV=    ${IV}/libivhack.a
  140. # random utility functions and classes
  141. UTIL=    ${DEPTH}/util
  142. LIBUTIL=${UTIL}/libfaxutil.a
  143. LIBPORT=${PORT}/libport.a
  144.  
  145. #
  146. # Uid&Gid for installing server stuff.  Note that the server process
  147. # proper (/usr/etc/faxd or similar) must either run setuid root or
  148. # setuid uucp (i.e. fax and uucp must have the same uid).  This is
  149. # so that the fax server can participate in the UUCP locking scheme
  150. # and thereby implement tty line sharing (i.e. share the same line
  151. # and modem for both fax and data).
  152. #
  153. FAXUSER=uucp
  154. FAXGROUP=sys
  155.  
  156. #
  157. # Directories where stuff gets placed:
  158. #
  159. # BIN        client-directed applications
  160. # LIBDATA    client-directed application library data files
  161. # LIBEXEC    client-directed application library executables
  162. # SPOOL        spooling area for servers
  163. # DOC        non-manual documentation
  164. # USRETC    place for servers (faxd & faxd.recv)
  165. #
  166. BIN=    /usr/local/bin
  167. LIBDATA=/usr/local/lib/fax
  168. LIBEXEC=/usr/local/lib/fax
  169. DOC=    /usr/local/doc/fax
  170. USRETC=    /usr/local/etc
  171.  
  172. SPOOL=    /usr/spool/fax
  173. #
  174. # Manual-related controls:
  175. #
  176. # MAN        head of manual tree
  177. # MANAPP    subdirectory for stuff in BIN
  178. # MANSYS    subdirectory for server & server-related apps
  179. # MANFILES    subdirectory for file format info 
  180. # PAGEDIRT    temp files to remove on clean/clobber
  181. #
  182. MAN    = /usr/local/man
  183.  
  184. MANAPPS    = man1
  185. MANSYS    = man1m
  186. MANFILES= man4
  187.  
  188. LN    = /bin/ln
  189.  
  190. MANCAPP    = ${CLIENTAPPS}
  191. MANCFILE= ${CLIENTFILES:.4f=.4}
  192. MANSAPP    = ${SERVERAPPS}
  193. MANSFILE= ${SERVERFILES:.4f=.4}
  194. PAGEDIRT= ${MANCFILE} ${MANSFILE}
  195.  
  196. .SUFFIXES: .4 .4f
  197. .4f.4:;    ${LN} $< $@
  198.  
  199. # programs used during installation
  200. ECHO=    /bin/echo
  201. #FTR=    /usr/sbin/ftr
  202. GREP=    /bin/grep
  203. RM=    /bin/rm
  204. KILLALL=/etc/killall
  205. PWD=    /bin/pwd
  206. CHROOT=    /etc/chroot
  207.  
  208. #
  209. # Definitions used by common rules.
  210. #
  211. COMMONRULES=${DEPTH}/rules
  212. COMMONTARGS= clobber clean rmtargets depend incdepend
  213.  
  214. #
  215. # C compiler flags are composed of variable (set on the command line),
  216. # local (defined in the makefile), and global (defined in this file)
  217. # parts, in that order.  This ordering is used so that variable or
  218. # locally specified include directories are searched before the globally
  219. # specified ones.
  220. #
  221. CFLAGS=    ${CVERSION} ${VCFLAGS} ${LCFLAGS} ${GCFLAGS}
  222.  
  223. VCFLAGS=${VCDEFS} ${VCINCS} ${VCOPTS}
  224. LCFLAGS=${LCDEFS} ${LCINCS} ${LCOPTS}
  225. GCFLAGS=${GCDEFS} ${GCINCS} ${GCOPTS}
  226.  
  227. COPTS=    ${VCOPTS} ${LCOPTS} ${GCOPTS}
  228. CDEFS=    ${VCDEFS} ${LCDEFS} ${GCDEFS}
  229. CINCS=    ${VCINCS} ${LCINCS} ${GCINCS}
  230.  
  231. GCOPTS=${OPTIMIZER} ${PROTOTYPES}
  232. GCDEFS=
  233. GCINCS=    -I. -I${DEPTH} -I${PORT} -I${GENERIC} -I${UTIL} -I${TIFF}
  234. #
  235. # C++ flags are decomposed using the same hierarchy as C flags.
  236. #
  237. C++FLAGS=${CVERSION} ${VC++FLAGS} ${LC++FLAGS} ${GC++FLAGS}
  238.  
  239. VC++FLAGS=${VC++DEFS} ${VC++INCS} ${VC++OPTS}
  240. LC++FLAGS=${LC++DEFS} ${LC++INCS} ${LC++OPTS}
  241. GC++FLAGS=${GC++DEFS} ${GC++INCS} ${GC++OPTS}
  242.  
  243. C++OPTS=${VC++OPTS} ${LC++OPTS} ${GC++OPTS}
  244. C++DEFS=${VC++DEFS} ${LC++DEFS} ${GC++DEFS}
  245. C++INCS=${VC++INCS} ${LC++INCS} ${GC++INCS}
  246.  
  247. GC++OPTS=+a1 -w +p ${OPTIMIZER}
  248. GC++INCS=-I${DEPTH} -I${PORT} -I${GENERIC} -I${UTIL} -I${IV} -I${TIFF} \
  249.     -I${INCLDIR}/CC -I${INCLDIR}
  250. GC++DEFS=
  251.  
  252. #
  253. # Loader flags, composed of library (-l's) and option parts, with
  254. # the libraries appearing last.  Both of these are divided into variable,
  255. # local, and global parts.  The composition of LDFLAGS is done in the
  256. # other "direction" from CFLAGS so that all the -L's, that are part of
  257. # LDOPTS, appear before any of the -l's, which are part of LDLIBS.
  258. # Another benefit of segregating the libraries from the remaining of the
  259. # loader options is that the libraries alone can easily be given to
  260. # another program, e.g., lint.
  261. #
  262. # Notes:
  263. #   - If a program should not be linked with the shared version of libc,
  264. #     then its make file should override the setting of SHDLIBC with a
  265. #     line such as "SHDLIBC=".
  266. #
  267. LDFLAGS=${LDOPTS} ${LDLIBS}
  268.  
  269. LDOPTS=${VLDOPTS} ${LLDOPTS} ${GLDOPTS}
  270. LDLIBS=${VLDLIBS} ${LLDLIBS} ${GLDLIBS}
  271.  
  272. GLDOPTS=
  273. GLDLIBS=${SHDLIBC}
  274.  
  275. #
  276. # Convenient command macros that include the flags macros.
  277. #
  278. C++F=    ${C++} ${C++FLAGS}
  279. CCF=    ${CC} ${CFLAGS}
  280.  
  281. #
  282. # Shell script for generating make dependencies.  MKDEPEND is a shorthand
  283. # for the tool's absolute pathname.  MKDEPENDC adds MKDEPCFLAGS and the -c
  284. # mkdepend option to this.  The other language's mkdepend variables try to
  285. # include their language's name in the variable names.  Unfortunately, a
  286. # lot of makefiles already use the nondescript LMKDEPFLAGS for C language
  287. # mkdepend options, so we initialize LMKDEPCFLAGS with ${LMKDEPFLAGS}.
  288. #
  289. MKDEPENDC++    =${MKDEPEND} ${MKDEPC++FLAGS} -c "gcc -x c++ -M ${C++FLAGS}"
  290. MKDEPENDC    =${MKDEPEND} ${MKDEPCFLAGS} -c "gcc -M ${CFLAGS}"
  291.  
  292. MKDEPC++FLAGS    =${VMKDEPC++FLAGS} ${LMKDEPC++FLAGS} ${GMKDEPC++FLAGS}
  293. MKDEPCFLAGS    =${VMKDEPCFLAGS} ${LMKDEPCFLAGS} ${GMKDEPCFLAGS}
  294. LMKDEPCFLAGS    =${LMKDEPFLAGS}
  295.  
  296. GMKDEPFLAGS    =-e 's@ ${INCLDIR}/@ $${INCLDIR}/@'
  297. GMKDEPC++FLAGS    =${GMKDEPFLAGS} -s C++ -e 's@\.c++\.o *: @\.o: @'
  298. GMKDEPCFLAGS    =${GMKDEPFLAGS}
  299.  
  300. #
  301. # Macro to add to LMKDEPCFLAGS or LMKDEPC++FLAGS if your makefile builds
  302. # single-source programs using null suffix rules (e.g., .c:}.  This option
  303. # works for both C and C++ make depend.
  304. #
  305. NULLSUFFIX_MKDEPFLAG=-e 's@\.o+*:@:@'
  306. #
  307. # MKDEPFILE is the name of the dependency database, included by rules.
  308. #
  309. MKDEPFILE=Makedepend
  310. #
  311. # CDEPFILES lists all C or cc-compiled source files that depend on header
  312. # files computable by ${MKDEPENDC}.  C++DEPFILES lists all C++ files having
  313. # dependencies computable by ${MKDEPENDC++}.
  314. #
  315. C++DEPFILES=${C++FILES}
  316. CDEPFILES=${CFILES}
  317. DEPFILES=${C++DEPFILES} ${CDEPFILES}
  318.  
  319. #
  320. # Directory shorthands, mainly for make depend (see GMKDEPFLAGS above).
  321. #
  322. INCLDIR    =${ROOT}/usr/include
  323.